/*
 * FSWUniCEUB - 2008
 * 
 * Este arquivo é de propriedade da Fábrica de Software do UniCEUB
 * 
 * Para mais informações entre em contato com a coordenação do
 * curso de Ciência da Computação da instituição.
 */

package br.uniceub.fsw.indicadores.vo;

import br.uniceub.fsw.indicadores.dao.ValorIndicadorDAO;
import java.util.Date;
import java.text.SimpleDateFormat;

/**
 * Value Object da entidade AnaliseValorIndicador do módulo de Indicadores.
 * 
 * Tabela: TB_AnaliseValorIndicador
 *
 * @author Marcos Mello Nobrega Soares ra20136178
 */
public class AnaliseValorIndicadorVO {
    
    /**
     * Coluna: ID_AnaliseValorIndicador
     */
    private Integer idAnaliseValorIndicador;
    
    /**
     * Coluna: NO_AnaliseValorIndicador
     */
    private Date dtAnaliseValorIndicador;
    
    /**
     * Coluna: DS_AnaliseValorIndicador
     */
    private String dsAnaliseValorIndicador;
    
    /**
     * Tabela referenciada: TB_ValorIndicador
     * Coluna FK: CD_ValorIndicador
     */
    private Integer cdValorIndicador;
    
    /**
     * ValorIndicador relacionado pela coluna cdValorIndicador.
     */
    private ValorIndicadorVO valorIndicador;
    
    /*
     * Getters e Setters.
     */    

    public Integer getCdValorIndicador() {
        return cdValorIndicador;
    }

    public void setCdValorIndicador(Integer cdValorIndicador) {
        this.cdValorIndicador = cdValorIndicador;
    }

    public String getDsAnaliseValorIndicador() {
        return dsAnaliseValorIndicador;
    }

    public void setDsAnaliseValorIndicador(String dsAnaliseValorIndicador) {
        this.dsAnaliseValorIndicador = dsAnaliseValorIndicador;
    }

    public Integer getIdAnaliseValorIndicador() {
        return idAnaliseValorIndicador;
    }

    public void setIdAnaliseValorIndicador(Integer idAnaliseValorIndicador) {
        this.idAnaliseValorIndicador = idAnaliseValorIndicador;
    }
    
    
     /**
     * Retorna data como String no formato d-m-Y
     * 
     * @param Date
     * @return Data em String d-m-Y
     */
    public static String getDateAsString(Date data) {
        String sdata = new String();
  
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");

        if(data != null) 
            sdata = sdf.format(data);
        
        return sdata;
    }    

    public Date getDtAnaliseValorIndicador() {
        return dtAnaliseValorIndicador;
    }
    
    public String getDtAnaliseValorIndicadorString() {
        return getDateAsString(this.dtAnaliseValorIndicador);
    }

    public void setDtAnaliseValorIndicador(Date dtAnaliseValorIndicador) {
        this.dtAnaliseValorIndicador = dtAnaliseValorIndicador;
    }
 
    public void setValorIndicador(ValorIndicadorVO valorIndicador) {
        this.valorIndicador = valorIndicador;
    }
    
    public ValorIndicadorVO getValorIndicador() {
        
        if(this.valorIndicador == null) {
            this.valorIndicador = new ValorIndicadorDAO().consultarPorId(this.cdValorIndicador);
        }
        
        return valorIndicador;
    }    
}
